
#ifndef GRAPHITERATOR_HPP_
#define GRAPHITERATOR_HPP_

#include "../list/listIterator.hpp"
#include "node.hpp"

class GraphIterator{
private:
	ListIterator<Node> *it;

public:
	GraphIterator(List<Node> *l){
		this->it = new ListIterator<Node>(l);
	}

	virtual ~GraphIterator(){
		delete this->it;
	}

	bool hasNext(){
		return this->it->hasNext();
	}

	Node* next(){
		return this->it->next();
	}

	Node* remove(){
		return this->it->remove();
	}

	void add(Node *datta){
		this->it->add(datta);
	}

	Node* get(){
		return this->it->get();
	}

};


#endif /* GRAPHITERATOR_HPP_ */
